package com.adtech.core.dao.session.factory;

import java.util.concurrent.ConcurrentLinkedQueue;

/**
 * 可配置动态加载任务队列
 * 
 * @author Dormin
 * @since 2012-6-15
 * 
 * @Copyright (C) 2012 AD Tech Workshop All Right Reserved
 */
public final class ConfigDynamicLoadQueue {
	private static final ConcurrentLinkedQueue<ConfigDynamicLoadTask> queue = new ConcurrentLinkedQueue<ConfigDynamicLoadTask>();
	
	/**
	 * 加入队列
	 * @param obj
	 * @author Dormin
	 */
	public static void add(ConfigDynamicLoadTask task) {
		queue.add(task);
	}
	
	/**
	 * 获取队列第一个元素，并从队列中删除
	 * @return
	 * @author Dormin
	 */
	public static ConfigDynamicLoadTask poll() {
		return queue.poll();
	}
	
	/**
	 * 获取队列第一个元素，但不从队列中删除
	 * @return
	 * @author Dormin
	 */
	public static ConfigDynamicLoadTask peek() {
		return queue.peek();
	}
	
	/**
	 * 队列是否为空
	 * @return
	 * @author Dormin
	 */
	public static boolean isEmpty() {
		return queue.isEmpty();
	}
	
	
	
}
